home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-11-02 | 44.1 KB | 1,154 lines |
- **************************************************************************
- IMPORTANT NOTICE: In the 32-bit version, the following functions, which
- used to return space-delimited lists of items:
-
- DirItemize
- DiskScan
- FileItemize
-
- now return tab-delimited lists. This can be changed using the new
- IntControl(29). See "DLL 2.2abh" section below for more information.
-
- --------------------------------------------------------------------------
-
- In the 32-bit version, the following functions work only with 32-bit apps:
-
- AppExist
- AppWaitClose
- WinExeName
-
- See "DLL 2.2abk" section below for more information.
-
- **************************************************************************
-
- WinBatch fixes. Dates indicate disk drop into manufacturing. Actual ship is often
- a week later. Plans are to reship disk to all customers when product becomes stable
-
- 5.0H Sept 1, 1994
- Initial public release
-
- 5.0J Sept 10, 1994
- Network Extender fixes
-
- 5.0K Sept 19, 1994
- Fixed "Use Older / Use Newer" swap in Confirm Replace dialog
- Fixed problem where \*.* was required on a target directory on
- FileCopy/FileMove functions (Oops See 5.0N)
-
- 5.0L Sept 26, 1994
- Fixed MenuChange function
- Added DiskSize function
- Added \\machine\share capability to DiskFree and DiskSize functions
-
- WinBatch 32 for Intel PCs available
-
- 5.0M Oct 3, 1994
- Fixed TimeDiffSecs function
- Fixed DDERequest memory leak problem
- Started adding this fixes.txt file
-
- 5.0N Oct 10 1994
- Fixed memory leak on Dialog() function when CTL3DV2 was used.
- New n3Logout function in Novell3 extender
- Started adding NEW.HLP file
- Really fixed the \*.* problem. Previous fix only copied
- the first file.
- Modified the DiskFree, DiskSize, and FileSize functions to
- return a floating point answer if the result is larger than
- about 2 Gigabytes
- Fixed Novell 3 Extenders (DLL10G)
- n3Map fixed to work with ODI drivers
- n3GetMapped
- n3MemberSet
- n3MemberDel
-
- 5.0P Oct 19 1994
- Fixed FileSize for 32bit versions to return the proper answer
- Fixed a bug in StrIndex where a @backscan on a one character
- string would provide an incorrect answer.
- Fixed problem in CopyMove confirm dialog - Cancel works now.
- Fixed problem in CopyMove dialog - missing source file error caught before
- dialog.
- Fixed problem where Dialog function dialog boxes used BUTTON_FACE color
- instead of LTGRAY color.
- Fixed Novell 4 Extenders (DLL10H)
- n4Map (improved)
- n4GetMapped
- n4MemberSet
- n4MemberDel
- Novell DLL's updated from the Novell 11/93 release to the 2/94 release
-
- WinBatch 32 for Dec Alpha and MIPS now available.
-
-
-
-
- Actually, its almost pointless to watch the Winbatch version number, as nearly all
- the fixes appear in the Dll, which has its own version numbering scheme. By simply
- obtaining a new Dll, the functionality of Winbatch and the WinBatch+Compiler can
- be updated. Henceforth, we will be tracking the DLL version number. The WinBatch
- VersionDll() function will return the DLL version. This is already built into the
- SYSINFO.WBT file.
-
- DLL 2.1ebc Oct 26
- First showing up in WinBatch 5.0Q
- User pointed out problems in the sin and cos routines. Problem traced to
- what appear to be singularity-type problems in the Microsoft runtime
- cos and sin routines. The Dll now checks for the bad numbers, and if it is
- in the range where the runtime routines fail, it stuffs in an appropriate
- answer. Fix installed in the 16 bit version only, as the 32 bit versions
- do not seem to have this problem in the runtimes.
-
- Fixed a nit in the dialog editor where, when it was requested to
- display a script, would do so in a dialog box with a "(Unlicensed)"
- in the title.
-
- Fix a parser problem where an error occurred when the first part
- of a variable name matched a function name provided by the calling
- exe program. This problem first showed up in using a "Dialog1"
- name for a dialog in the Dialog Editor.
-
- Fixed a SendKey to DOS bug where stuff like {UP} did not work when
- the NumLock was set. Fixed by turning off NumLock when sending
- keystrokes to DOS.
-
- DLL 2.1fbc
- Fixed look of Dialog boxes (back to white) when CTL3DV2.DLL is
- not installed on system.
-
- Fixed >very insignificant< problem where if a user did an
- AddExtender for the same DLL twice (or more) only one instance
- of the DLL was freed when the WBT file shut down.
-
- Fixed problem in 32 bit version for Windows'95 where default
- directory was not set properly in =C: environment variable.
- This problem caused wildcarded filenames to be improperly
- resolved into real filenames.
-
- Fixed problem in 16 bit version where DirRemove always
- returned a true, whether or not the directory was deleted.
- If the directory is not deleted, it now returns a suppressable,
- 1030 error.
-
-
- DLL 2.2abf First showing up in WB 5.1A
-
- Because of a data structure change to support more binary
- buffers (5 was coded, 10 was documented) the main dll
- renamed to WBDBFxxx.dll
-
- Fixed TimeDiffSecs (again). If the first date was smaller
- than the second date, the answer could be incorrect.
-
- Fixed a problem in FileAppend where the following code would not
- work properly.
- FileAppend("AAA.*","BBB.TXT")
-
- The DLL now does better <Ctrl-Break> checking.
- SendKey slowed down a minor tad to help other applications out.
-
- 32Bit versions will try harder to locate the WIL DLL on startup.
-
- The compiler time check of various DLLS has been removed because
- of assorted problems. We'll just roll the DLL name instead when
- incompatibilities arise. The DLL appears to be extremely stable,
- and the bug fixes implemented lately tend to be minor (see above)
-
- A buglet where an ItemInsert on a null string installed a leading
- delimiter before the inserted item - leading to a list with two
- items, the first being null, and the second being the desired item
- - was fixed. When ItemInsert'ing into a null list, no leading
- delimiter is stuffed in.
-
- A problem with PlayWaveForm where it was not checking the [Sounds]
- section of the WIN.INI file for all possible cases has been fixed.
-
- Fixed a problem with FileCopy/FileMove, where the target was ".."
- and it was a root directory.
-
- DirExist now returns TRUE for hiden and system directories. It
- also uses an improved method (hopefully) of checking for root
- directories and directories with relative paths (eg, "..\TEMP").
-
- Changed FileExist to return a value of '2' if the specified file
- exists but is currently open by another application in "read-deny"
- mode. Most of the other file manipulation functions (except
- FileOpen) will cause a sharing violation if they try to access
- such a file.
-
- Fixed problems handling file and directory names containing high
- ANSI characters (>127).
-
- Fixed a problem that occurred if, inside a FOR loop, the user
- changed the increment variable to a string.
-
- Fixed an intermittent problem with performing comparisons of
- negative floating point numbers.
-
- FileFullName now correctly expands "dot" directories
- ("." and "..") in the path name.
-
- Fixed a problem processing lines such as "Gosub %param1%" inside
- conditional structures, when param1 was undefined.
-
- (32-bit version) Fixed some incompatabilities with Windows 95:
- FileAppend
- FileMove
- MsgTextGet
- WinActivate (where the specified parent window had a modal
- child window displayed -- focus was going to the parent
- window instead of to the child window)
-
- Fixed a problem with accessing the DLL if it was located in the
- parent directory and ".." was on the path.
-
- FileCopy, FileMove, and FileAppend now check for sufficient free
- disk space before performing the requested operation, and return
- an error if there is insufficient space, as follows:
-
- 1404 FileCopy: Insufficient free space on target drive
- 1405 FileMove: Insufficient free space on target drive
- 1406 FileAppend: Insufficient free space on target drive
-
-
- NetWare 3 extender 12012 First showing up in WB 5.1A
-
- New functions:
-
- n3ServerList(request)
- Returns name of connected server
-
- request:
- 0 = all connected servers (tab-delimited list)
- 1 = default server
- 2 = primary server
-
- n3FileAttrGet(filename)
- Returns NetWare file attributes
-
- filename = a file name, which may include a full path, and which may
- *not* include wildcards.
-
- Returns a number which is the sum of all attributes set for the
- specified file. Use the bitwise AND operator (&) to determine if a
- specific attribute is set. See below for a list of attribute
- constants.
-
- n3FileAttrSet(filename, attribs, mode)
- Sets NetWare file attributes
-
- filename = a file name, which may include a full path, and which may
- include wildcards.
-
- attribute is one or more NetWare file attribute constants (see below
- for list). If multiple attributes are specified, they should be
- combined using the bitwise OR operator.
-
- If mode = @ON, specified attributes are set.
- If mode = @OFF, specified attributes are removed.
-
- Note: The 'execute-only' attribute cannot be removed.
-
- New constants (used by n3FileAttrGet and n3FileAttrSet):
-
- @attr_Ro Read-only
- @attr_H Hidden
- @attr_Sy System
- @attr_X eXecute-only
- @attr_A Archive-needed
- @attr_Sh Shareable
- @attr_T Transactional
- @attr_P Purge
- @attr_Ri Rename-inhibit
- @attr_Di Delete-inhibit
- @attr_Ci Copy-inhibit
- @attr_Dm Don't migrate
- @attr_Ic Immediate compress
- @attr_Dc Don't compress
-
-
- NetWare 4 extender 14007 First showing up in WB 5.1A
-
- Changed functions:
-
- n4memberGet(group, user)
- n4memberSet(group, user)
- n4memberDel(group, user)
-
- these functions no longer take a 'server' parameter (they change the
- groups on all servers)
-
- New functions:
-
- n4ServerList(request)
- Returns name of connected server
-
- request:
- 0 = all connected servers (tab-delimited list)
- 1 = default server
- 2 = primary server
- 3 = preferred server
-
- n4FileAttrGet(filename)
- Returns NetWare file attributes
-
- filename = a file name, which may include a full path, and which may
- *not* include wildcards.
-
- Returns a number which is the sum of all attributes set for the
- specified file. Use the bitwise AND operator (&) to determine if a
- specific attribute is set. See below for a list of attribute
- constants.
-
- n4FileAttrSet(filename, attribs, mode)
- Sets NetWare file attributes
-
- filename = a file name, which may include a full path, and which may
- include wildcards.
-
- attribute is one or more NetWare file attribute constants (see below
- for list). If multiple attributes are specified, they should be
- combined using the bitwise OR operator.
-
- If mode = @ON, specified attributes are set.
- If mode = @OFF, specified attributes are removed.
-
- Note: The 'execute-only' attribute cannot be removed.
-
- New constants (used by n4FileAttrGet and n4FileAttrSet):
-
- @attr_Ro Read-only
- @attr_H Hidden
- @attr_Sy System
- @attr_X eXecute-only
- @attr_A Archive-needed
- @attr_Sh Shareable
- @attr_T Transactional
- @attr_P Purge
- @attr_Ri Rename-inhibit
- @attr_Di Delete-inhibit
- @attr_Ci Copy-inhibit
- @attr_Dm Don't migrate
- @attr_Ic Immediate compress
- @attr_Dc Don't compress
-
-
- WB 5.1C April 18, 1995
-
- Fixed problem with compiler and compiled WBT's causing a sharing
- violation if the DLL was on a network and not marked read-only.
-
- Fixed problem with compiler and compiled WBT's not finding the DLL
- if it was located in the Windows or Windows System directory.
-
- Fixed problem with large compiled WBT's being unable to extract the
- WIL DLL when run on a disk >= 4 gigabytes in size.
-
- In WILX.DLL extender -- fixed problem with xDriveReady sometimes
- causing a GP fault.
-
-
- DLL 2.2abg First showing up in WB 5.1C
-
- Added two new string constants:
-
- @CR (13) carriage return
- @LF (10) line feed
-
- Fixed bug in BinaryIndex where it wouldn't find the last character
- in the buffer.
-
-
- WB 5.1D July 18, 1995
-
- WinBatch compiler: for new projects, compiler will use settings (type,
- icon, and extenders) from the last project.
-
-
- DLL 2.2abh First showing up in WB 5.1D
-
- **************************************************************************
- IMPORTANT: File delimiters
- **************************************************************************
-
- In order to support long file names in Windows NT and Windows 95, which
- can contain embedded spaces, we have changed the default file delimiter,
- used to delimit lists of files and directories, to a TAB in the 32-bit
- version of WIL. In the 16-bit version of WIL, the default delimiter has
- not changed, and remains a space.
-
- Note that this is the "default" file delimiter. We have added the ability
- to change the file delimiter to a character of your own choosing, using
- the new IntControl 29. If you are using the 32-bit version of WIL, and
- want to make the file delimiter a space for compatability with existing
- scripts, you can place the following line at the beginning of each of your
- scripts:
-
- IntControl(29, " ", 0, 0, 0)
-
- Conversely, if you want to standardize on a TAB delimiter, you can use:
-
- IntControl(29, @TAB, 0, 0, 0)
-
- Apostrophes (') and back quotes (`) are no longer treated as special
- characters to delimit file names containing spaces. They are now treated
- as ordinary characters in a file name.
-
- ----------------------------
- Functions which are affected
- ----------------------------
-
- The most important functions affected by this change are:
-
- DirItemize
- DiskScan
- FileItemize
-
- which now return lists delimited by the current file delimiter character.
-
- The following functions, which take file or directory lists as input
- parameters, now expect the lists to be delimited by the current file
- delimiter character. However, they now also accept lists delimited with a
- TAB or a vertical bar ("|", which may be easier to code in a WIL script):
-
- DirItemize
- DirRemove
- DiskFree
- FileAppend
- FileAttrSet
- FileCopy
- FileDelete
- FileItemize
- FileMove
- FileRename
- FileSize
- FileTimeSet
- FileTimeTouch
-
- Note that DiskFree will continue to accept space-delimited lists as input.
-
- **************************************************************************
-
- New IntControl:
-
- IntControl(29, delimiter, 0, 0, 0)
- Changes the default file delimiter.
-
- The first parameter is the new file delimiter you want to use, and must
- be a single character. The return value of the function is the previous
- file delimiter character. If you specify an empty string ("") as the
- first parameter, the function will return the current file delimiter
- character but the file delimiter will not be changed.
-
- Added option to WinMetrics: WinMetrics(-4) will return the Windows
- platform:
-
- 0 = Other
- 1 = Windows
- 2 = Windows for Workgroups
- 3 = Win32s
- 4 = Windows NT
- 5 = Windows 95
-
- In StrSub, you can now specify a length of -1, which will extract the rest
- of the string.
-
- In TimeWait, you can now specify "00:00:00" for the date, which will wait
- for the next occurrence of the specified time (ie, today or tomorrow).
-
- Added support for 3-D Dialog's in Windows NT, if CTL3D32.DLL is present in
- the SYSTEM32 directory.
-
- Fixed TimeAdd so that it doesn't trim out leading zeros in each field.
-
- The Wallpaper function now obeys the tile parameter in Windows 95.
-
- Improved handling of colors in Dialog function.
-
- Added 3D effect to radio buttons and checkboxes in Dialog function.
-
- Fixed problem where if an error occurred in a called WBT, control would go
- to the "Cancel" label in the calling program.
-
- In Dialog and DialogBox, you can now really use IntControl(4) to allow the
- dialog to be closed without selecting a file, even if there is an edit box
- associated with a file listbox. If you press a pushbutton after changing
- the file mask in an edit box, the listbox will be updated with the new
- mask. But if you press a pushbutton without changing the file mask, the
- dialog will close (and will return a file name of "NOFILESELECTED").
-
- Fixed problem where string variables were not converted properly to
- integers at the beginning of a "For" loop.
-
- Fixed problem where lines that should have been ignored (eg, if they
- followed a Break statement) could cause errors if they contained invalid
- syntax.
-
- If the second parameter of an IntControl(12) statement is "" or "0", any
- previously-set exit message will now be cleared. Also, you can now
- specify a message beginning with "0".
-
- Fixed problem processing "If" statements with a blank string to the left
- of the equals sign.
-
- Fixed a problem in the 32-bit version where the Dialog function would
- return an invalid file name (garbage characters) if no file was selected.
-
- Improved IsKeyDown processing (especially under Windows 95).
-
- Improved Ctrl-Break checking (especially under Windows 95).
-
- Made WinWaitClose steal less processor time in the 32-bit version.
-
-
- WB 5.1E Aug 3, 1995
-
- In the 32-bit version of WinBatch, it is now possible to run WinBatch
- files whose names contain spaces, by delimiting the file name with
- double quotes on the WinBatch command line. For example:
-
- WBAT32I "Sample Program.WBT" param1 param2
-
- CallExt now handles file names containing spaces, in 32-bit version.
-
- 32-bit version of WinBatch will now run WBT's with file names longer than
- 64 characters.
-
- INI settings have been moved from WWW-PROD.INI to the registry, under key:
-
- HKEY_LOCAL_MACHINE\SOFTWARE\Wilson WindowWare\Settings\WWW-PROD
-
-
- DLL 2.2abj First showing up in WB 5.1E
-
- For functions which take a partial window name, you can now specify a
- tilde (~) as the first character of the window name, which will match any
- window containing the specified string anywhere in its title (ie, not
- necessarily at the beginning of the title). For example, "~Notepad" will
- match a window title of "(Untitled) - Notepad" and a window title of "My
- Notepad Application", as well as a window title of "Notepad - (Untitled)".
- This should prove especially useful under Windows 95. A '~' at the end of
- the specified window name indicates (as before) that the name must match
- the window title through to the end of the title. So, "~Notepad~" will
- match a window title of "Notepad" and a window title of "(Untitled) -
- Notepad", but will not match a window title of "Notepad - (Untitled)".
-
- New function:
-
- WinIdGet(partial-winname).
- Returns a unique "Window ID" (pseudo-handle) for the specified window.
-
- The Window ID can subsequently be used with any WIL functions which
- accept a window name as a parameter. This can be useful to distinguish
- between multiple windows with the same name, or to track a window whose
- title changes. For example:
-
- Run("notepad.exe", "")
- winid1 = WinIdGet("~Notepad") ; gets the most-recently-accessed Notepad
- Run("notepad.exe", "")
- winid2 = WinIdGet("~Notepad") ; gets the most-recently-accessed Notepad
- WinPlace(0, 0, 500, @ABOVEICONS, winid1)
- WinPlace(500, 0, 1000, @ABOVEICONS, winid2)
- WinActivate(winid1)
-
- All functions which accept a partial window name as a parameter now accept
- a Window ID, as obtained from the new WinIdGet function (above).
-
- New functions to manipulate Windows 95 shortcut link files (Windows 95 only):
-
- ShortcutExtra(linkname, description, hotkey, iconpath, iconindex)
- Sets additional information for the specified shortcut file.
- iconindex = 0=based index of desired icon in "iconpath"
-
- ShortcutInfo(linkname)
- Returns information on the specified shortcut file (TAB-delimited):
- path, params, workdir, showmode, desc, hotkey, iconpath, iconindex
-
- ShortcutMake(linkname, pathname, params, workdir, showmode)
- Creates a shortcut for the specified filename.
- showmode = @NORMAL, @ZOOMED, or @ICON
-
- In 32-bit version, Run... commands now support file and directory names
- containing spaces.
-
- In 32-bit version, Run... commands no longer support the undocumented
- method of running a program with a non-standard extension (eg,
- "SSSTARS.SCR") by replacing the period (.) in the file name with an
- asterisk (*). However, this is no longer necessary, as the Run...
- commands in the 32-bit version can now run such programs directly.
-
- The 32-bit bit version is now able to run Windows 95 shortcut files under
- Windows 95, using any of the Run... functions. The "Run" mode specified
- in the shortcut file (ie: "Normal window", "Minimized", or "Maximized")
- will always be obeyed, any command-line parameters specified in the
- shortcut's "Target" field will override any parameters passed by the
- Run... function, and a working directory specified in the shortcut's
- "Start in" field will override a working directory parameter in RunShell.
-
- New directory attribute functions:
-
- DirAttrGet(dirname)
- Gets directory attributes (like FileAttrGet)
-
- DirAttrSet(dir-list, settings)
- Sets directory attributes (like FileAttrSet)
-
- FileAttrGet and FileAttrSet now return an error if a directory name is
- specified. Use the new DirAttrGet and DirAttrSet instead.
-
- New functions (32-bit version only -- the 16-bit version will just return
- the passed file name):
-
- FileNameLong(filename)
- Returns the long version of a filename.
-
- FileNameShort(filename)
- Returns the short (ie, 8.3) version of a filename.
-
- New IntControl (32-bit, Windows NT only):
-
- IntControl(30, "sourcefile", "destination", 0, 0)
- Performs a delayed file move. The file is not actually moved until
- the operating system is restarted. This can be useful for replacing
- system files. "Sourcefile" must be a single file name, with no
- wildcards. "Destination" may be a file name (which may contain
- wildcards) or a directory name. The destination file MUST be on the
- same drive as the source file. If the destination file exists, it
- will be replaced without warning. "Destination" can also be a NULL
- string (""), in which case the source file will be deleted when the
- operating system is restarted.
-
- Under Windows 95, and in the 16-bit version, this function performs a
- regular (non-delayed) FileMove.
-
- This function returns "1" on success, "2" if it performed a regular
- FileMove instead, and "0" on failure.
-
- New registry functions (32-bit version only):
-
- RegApp(progname, path)
- Creates registration entries for a program under "App Paths".
-
- RegDelValue(handle, subkey-string)
- Removes a named value for the specified subkey from the registry.
- "Subkey-string" must be enclosed in square brackets (see
- RegSetValue). "Subkey-string" of "[]" deletes the "default" value.
-
- In 32-bit version, PlayMidi function now support file and directory names
- containing spaces.
-
- New function (32-bit version only):
-
- InstallFile(filename, targname, default-targdir, delete-old, flags)
- Installs a file.
-
- "Filename" is the name of the source file to be installed, with
- optional path.
-
- "Targname" is the name of the file to be created. It may not contain
- a path. You can specify a blank string (""), in which case the target
- file will have the same name as the source file.
-
- "Default-targdir" is the directory where you want the file to be
- installed. The file will be installed to this directory, unless it is
- a shared file or a file with the same name already exists elsewhere.
-
- If "Delete-old" is @TRUE (or non-zero), and a file with the same name
- as the file being installed already exists, it will be deleted, even
- if it is located in a directory (on the path) other than the target
- directory. If "delete-old" is @FALSE, such a file will not be
- deleted.
-
- "Flags" specifies other optional flags that affect the operation of
- this function, combined with the OR ('|') operator. They are:
-
- 1 - shared file (file should be installed to a shared directory)
- 2 - force install (install file even if older than existing file)
-
- When installing 32-bit image files (EXE's, DLL's, etc.), this function
- uses the version information embedded in the files to determine
- whether a file being installed is newer than an existing file with the
- same name. When installing any other type of file, which does not
- contain appropriate version information, this function uses the time
- stamps of the respective files instead.
-
- The return value is in the form:
-
- "result|tempname", or
- "result|"
-
- where "result" is the value returned by the "VerInstallFile" Windows
- API function; and "tempname" is the name of the temporary file that
- was created if the file could not be installed, or blank otherwise.
-
- New function (menu-based implementations only):
-
- CurrFilePath()
- Returns the full path+filename of the currently-selected file.
-
- Like CurrentFile, but returns a full pathname.
-
- New IntControl (32-bit, Windows 95 only):
-
- IntControl(31, 0, 0, 0, 0)
- Returns a tab-delimited list of WinId's for all open Explorer windows.
-
- IntControl(67) and IntControl(68) now work in Windows 95.
-
- DosVersion now returns correct values in Windows 95.
-
- Added new request #'s to WinResources for 32-bit version:
-
- 10 - returns a number between 0 and 100 that gives a general idea of
- current memory utilization, in which 0 indicates no memory use and
- 100 indicates full memory use.
- 11 - total number of bytes of physical memory.
- 12 - number of bytes of physical memory available.
- 13 - total number of bytes that can be stored in the paging file. Note
- that this number does not represent the actual physical size of the
- paging file on disk.
- 14 - number of bytes available in the paging file.
- 15 - total number of bytes that can be described in the user mode
- portion of the virtual address space of the calling process.
- 16 - number of bytes of unreserved and uncommitted memory in the user
- mode portion of the virtual address space of the calling process.
-
- The existing request #'s (0-4) will still work, but are not useful on
- 32-bit platforms.
-
- It is not possible to determine free system resources in the 32-bit
- version.
-
- Fixed problem with Dialog and DialogBox returning "NOFILESELECTED" even
- if a file was selected, if IntControl(4) was set.
-
- INI settings have been moved from WWW-PROD.INI to the registry, under key:
-
- HKEY_LOCAL_MACHINE\SOFTWARE\Wilson WindowWare\Settings\WWW-PROD
-
-
- WB 95B Sept 7, 1995
-
- New Box functions:
-
- BoxButtonDraw(BoxID, button ID, "text", "rect")
- BoxButtonKill(BoxID, button ID)
- BoxButtonStat(BoxID, button ID)
- BoxCaption(BoxID, caption)
- BoxColor(BoxID, "color", wash color)
- BoxDataClear(BoxID, "tag")
- BoxDataTag(BoxID, "tag")
- BoxDestroy(BoxID)
- BoxDrawCircle(BoxID, "rect", style)
- BoxDrawLine(BoxID, "rect")
- BoxDrawRect(BoxID, "rect", style)
- BoxDrawText(BoxID, "rect", "text", erase flag, alignment)
- BoxesUp("rect", show mode)
- BoxMapMode(BoxID, map mode)
- BoxNew(BoxID, "rect", style)
- BoxPen(BoxID, "color", width)
- BoxTextColor(BoxID, "color")
- BoxTextFont(BoxID, "name", size, style, family)
- BoxUpdates(BoxID, update flag)
-
- The 32-bit WinBatch compiler now allows you to specify an icon for the EXE
- being compiled.
-
-
- DLL 2.2abk First showing up in WB 95B
-
- In the 32-bit version, the Run... functions will look in the registry
- under "App Paths" for the location of the specified program, if you do not
- specify a path for it.
-
- In the 32-bit version, the Run... functions will look in the registry
- under "App Paths" for a "Path" setting for the specified program, and, if
- found, will prepend it to the "PATH" environment variable before running
- the program.
-
- In the 32-bit version, the following functions now work, but only with
- 32-bit applications:
-
- AppExist
- AppWaitClose
- WinExeName
-
- In the 32-bit version, AppExist and AppWaitClose are not able to detect
- the existence of 16-bit DOS or Windows applications, and WinExeName will
- return the string "(16-bit application)".
-
- In the 32-bit version under Windows NT, these functions accept (and
- return) module names instead of full program names. The module name is
- usually the same as the root name of the program, without the extension.
- For example, WinExeName("Program Manager") will return "progman". With
- AppExist and AppWaitClose, any file extension or path information which is
- part of the 'program-name' parameter is ignored; so, for example,
- AppExist("c:\temp\progman.exe") will return TRUE if Program Manager is
- running, regardless of what directory PROGMAN.EXE is actually located in.
- One exception: WinExeName("") will return a full path to the program
- making the current call to the WIL Interpreter.
-
- BinaryPeekStr, BinaryPokeStr, and BinaryStrCnt now check for (and reject)
- negative parameters.
-
- RunWait now gives up some processor time while it's waiting.
-
- New function (32-bit version only):
-
- WinSysInfo()
- Returns a tab-delimited list of system configuration information:
- computer name of the current system.
- processor architecture.
- page size (specifies granularity of page protection and commitment).
- mask representing the set of processors configured into the system.
- number of processors in the system.
- processor type.
- granularity in which memory will be allocated.
- system's architecture-dependent processor level.
- architecture-dependent processor revision.
-
- This function should be used instead of WinConfig in the 32-bit version.
-
- Additional request #'s for WinMetrics (32-bit version only):
-
- 41 TRUE or non-zero if the Microsoft Windows for Pen computing
- extensions are installed; zero, or FALSE, otherwise.
- 42 TRUE or non-zero if the double-byte character set (DBCS) version of
- USER.EXE is installed; FALSE, or zero otherwise.
- 43 Number of buttons on mouse, or zero if no mouse is installed.
- 44 (Win95 only) TRUE if security is present, FALSE otherwise.
- 63 (Win95 only) The least significant bit is set if a network is
- present; otherwise, it is cleared. The other bits are reserved for
- future use.
- 67 (Win95 only) Value that specifies how the system was started:
- 0 - Normal boot
- 1 - Fail-safe boot
- 2 - Fail-safe with network boot
- Fail-safe boot (also called SafeBoot) bypasses the user's startup files.
- 70 TRUE or non-zero if the user requires an application to present
- information visually in situations where it would otherwise present
- the information only in audible form; FALSE, or zero, otherwise.
- 73 (Win95 only) TRUE if the computer has a low-end (slow) processor.
- 74 (Win95 only) TRUE if the system is enabled for Hebrew/Arabic languages.
-
- There are a number of other request #'s which can be specified, but are
- of limited usefulness and therefore not documented here. Details on
- these can be obtained from Win32 programming references, available from
- Microsoft (and others).
-
- New mouse functions:
-
- MouseClick(click-type, modifiers)
- Clicks mouse button(s).
-
- This function performs a mouse click at the current cursor position.
-
- "Modifiers" can be set to 0 if none are desired.
-
- click-type:
- @LCLICK left click
- @RCLICK right click
- @MCLICK middle click
- @LDBLCLICK left double-click
- @RDBLCLICK right double-click
- @MDBLCLICK middle double-click
-
- modifiers (can be OR'ed together with '|'):
- @SHIFT hold down shift key
- @CTRL hold down control key
- @LBUTTON hold down left mouse button
- @RBUTTON hold down right mouse button
- @MBUTTON hold down middle mouse button
-
- MouseClickBtn(win-name, child-win, button-text)
- Clicks on the specified button control.
-
- This function clicks on the pushbutton, radio button, or checkbox
- whose text is specified by "button-text".
-
- If the button is located within a top-level window, specify the window
- name in "win-name" and specify a blank string for "child-win".
-
- If the button is located within a child window, specify the top-level
- window name in "win-name" and the child window name in "child-win".
-
- MouseMove(x, y, win-name, child-win)
- Moves the mouse to the specified X-Y coordinates (based on a 1000 x
- 1000 screen).
-
- If "win-name" specifies a top-level window and "child-win" is a blank
- string, the specified X-Y coordinates are relative to "win-name".
-
- If "win-name" specifies a top-level window and "child-win" specifies a
- child window of "win-name", the specified X-Y coordinates are relative
- to "child-win".
-
- If "win-name" and "child-win" are both blank strings, the specified X-Y
- coordinates are relative to the Windows desktop.
-
- New constants:
-
- @LBUTTON left button
- @RBUTTON right button
- @MBUTTON middle button
- @LCLICK left click
- @RCLICK right click
- @MCLICK middle click
- @LDBLCLICK left double-click
- @RDBLCLICK right double-click
- @MDBLCLICK middle double-click
-
- Fixed problem where an invalid YmdHms string containing two consecutive
- colons could cause a GP Fault.
-
- In the 32-bit version, AppExist and AppWaitClose will now wait several
- seconds for the specified application to appear.
-
- Fixed problem in menu-based WIL applications where tabs in menu item
- descriptions would be displayed as non-printable "black-box" characters.
-
- Added new request #'s to MouseInfo:
-
- 5 - returns mouse coordinates relative to the client area of the window
- under the cursor, in virtual (1000x1000) screen units.
- 6 - returns mouse coordinates relative to the client area of the window
- under the cursor, in virtual (1000x1000) client units.
-
- In the 32-bit version, IconReplace now supports 32-bit EXE files. The
- replacement icon must be the exact same size as the original icon.
-
- New IntControl:
-
- IntControl(32, address, "data type", 0, 0)
- Returns the contents of the memory location specified by "address".
- "Data type" specifies the type of data to be retrieved:
- "BYTE" - returns a byte
- "WORD" - returns a word
- "LONG" - returns a long integer
-
- Fixed WinMetrics(-1) with 32-bit graphics cards. It was returning -1 for
- these; it now returns 2,147,483,647.
-
-
- WB 95C Oct 10, 1995
-
- New function:
-
- BoxButtonWait()
- Waits for any button in any box to be pressed.
-
- Fixed problem with WinBatch locking up when minimizing a WinBatch box that
- was displaying width-justified text.
-
-
- DLL 2.2abl First showing up in WB 95C
-
- Fixed problem with DirExist returning @FALSE for a UNC which was a root
- directory share on another machine (eg, "\\SERVER\C").
-
- DirMake will now create multi-level directories (eg, "C:\ABC\DEF\GHI").
-
- New functions:
-
- BinaryIndexNc(handle, offset, string, direction)
- Like BinaryIndex, but case-insensitive.
-
- WinItemNameId()
- Returns a list of top-level window names and their "Window ID's", in
- the form:
- "window1-name|window1-ID|window2-name|window2-ID|..."
-
- In the 32-bit version, Delay and TimeDelay functions now accept
- floating point numbers: eg, Delay(0.5).
-
- New function:
-
- ShellExecute(file-name, params, directory, display mode, operation)
- Performs a ShellExecute.
-
- "file-name" is a program or data file to be launched.
-
- "display mode" can be @NORMAL, @ICON, or @ZOOMED. Or you can specify
- 0 to display "file-name" in its default mode.
-
- "operation" is the operation to perform on the file ("Open", "Print",
- etc.), which may or may not correspond to an available "verb" on the
- context menu for the file. This parameter may be case-sensitive.
- Specify a blank string "" for the file's default operation.
-
- Note: If you use this function to launch a shortcut, and the shortcut
- points to an invalid path, Windows will display a "Missing Shortcut"
- dialog box asking if you wish to update the shortcut. This would not
- be suitable to use in unattended operation. Instead, you could use
- one of the Run.. functions to launch the shortcut, which would return
- an error #1932 if the shortcut could not be launched, and this error
- could be trapped using the ErrorMode function.
-
- See also RunShell.
-
- New function (32-bit version only):
-
- RegQueryItem(handle, subkey)
- Returns a tab-delimited list of named data items for the specified
- subkey.
-
- New IntControl:
-
- IntControl(33, p1, 0, 0, 0)
- Controls whether a listbox control in a dialog box allows multiple
- items to be selected.
-
- P1 Meaning
- -- -------
- 0 Single selection
- 1 Multiple selection (default)
-
- Improved registry functions in 32-bit version:
-
- RegSetValue, RegQueryValue, and RegDelValue:
-
- 1. Can now specify a named value of [Default] to indicate the primary
- value for the key (shown in the Registry Editor as "(Default)"); eg:
-
- RegSetValue(mykey, "[Default]", "some data")
-
- 2. Can now specify a subkey string containing a named value; eg:
-
- RegSetValue(mykey, "MySubKey[MyItem]", "some data"), or,
- RegSetValue(mykey, "MySubKey\[MyItem]", "some data")
-
- Fixed WaitForKey in the 32-bit version.
-
- In the 32-bit version, you can now use the Run... functions to "run" data
- files (eg, Run("win.ini", "")).
-
- FileItemize and DirItemize now handle names containing spaces.
-
- In 32-bit version, fixed problem with 3D dialogs not being used under
- Windows NT.
-
-
- WB 95D Nov 1, 1995
-
- Compiler now optimizes WBT's by removing comment lines and whitespace.
-
- OLE automation (ObjectOpen and ObjectClose functions) now supported in
- 32-bit version.
-
- When a custom icon is specified, the 32-bit compiler now installs it as
- the icon that is displayed in the Win95 Explorer window, as well as the
- icon that is shown in the task bar.
-
- Fixed a problem with some of the Box functions, where a color or font that
- was specified in a definition-type command (such as BoxTextColor) would be
- used for an output-type command (such as BoxDrawText) that preceded it in
- the command stack, instead of the default color or font being used.
-
-
- DLL 2.2abl First showing up in WB 95D
-
- New registry functions (32-bit version only):
-
- RegQueryBin(handle, subkey)
- Retrieves a binary value from the registry.
- The value is returned as a space-delimited string of hex bytes; eg:
- "AB 45 3E 01"
-
- RegQueryDword(handle, subkey)
- Retrieves a DWORD value from the registry.
-
- RegSetBin(handle, subkey, value)
- Sets a binary value in the registry.
- The value is specified as a space-delimited string of hex bytes; eg:
- "AB 45 3E 01"
-
- RegSetDword(handle, subkey, value)
- Sets a DWORD value in the registry.
-
- New date/time functions:
-
- TimeJulToYmd(julian-date)
- Converts the specified Julian date value to a date in YmdHms format.
- Hms will always be "00:00:00".
-
- TimeSubtract(YmdHms1, YmdHms2)
- Subtracts YmdHms2 from YmdHms1.
- YmdHms2 can not be larger than YmdHms1.
-
- New IntControl's:
-
- IntControl(34, p1, 0, 0, 0)
- Returns the error message string which corresponds to the specified
- WIL error.
- p1 = error number.
-
- IntControl(35, p1, 0, 0, 0) (32-bit version only)
- Slows down SendKey.
- p1 = amount of time to delay between each keypress, in milliseconds
- (1000 milliseconds = 1 second); 0 = no delay (default).
- Returns previous delay setting.
-
- IntControl(36, p1, p2, 0, 0) (32-bit version only)
- Waits until an application is waiting for user input.
- p1 = window name associated with application
- p2 = timeout, in milliseconds (-1 = no timeout)
- This function waits until the process which created the specified
- window has finished its initialization and is waiting for user input
- with no input pending, or until the specified timeout interval has
- elapsed. It can only be used with 32-bit GUI applications. It
- returns @TRUE if it has successfully waited, or FALSE if a timeout
- has occurred (or if it was unable to initiate a wait).
-
- In dialog boxes, if you create an EDITBOX field with a variable name that
- begins with "PW_", it will be treated as a passsword field (ie, asterisks
- will be echoed instead of the actual characters that the user types).
-
- In dialog boxes, file listboxes now use long file names in the 32-bit
- version under Windows 95.
-
- In the DiskScan function, request numbers 8 (CD_ROM) and 16 (RamDisk) are
- now supported in the 16-bit version.
-
- In 32-bit version, added 3D effects to dialog listboxes and edit controls
- under Windows 95.
-
- SendMenusTo now accepts a Window ID for the window name parameter.
-
- In 32-bit version, fixed a problem using the Run[] commands to launch a
- Windows 95 shortcut file.
-
- InstallFile function now supported in 16-bit version.
-
-
- NetWare 3 extender 12013 First showing up in WB 95D
-
- Fixed a problem with n3GetMapped, if the specified server name was also
- the partial name of another server (eg, if you specified "\\SERVER1" and
- you also had a server named "\\SERVER10").
-
- n3FileAttrGet and n3FileAttrSet can now be used to get and set directory
- attributes.
-
-
- NetWare 4 extender 14010 First showing up in WB 95D
-
- Fixed n4Detach function; it now does a full detach, and it now returns
- @FALSE if it is unable to detach from the monitored connection (ie, from
- the primary or login server).
-
- Fixed a problem with n4GetMapped, if the specified server name was also
- the partial name of another server (eg, if you specified "\\SERVER1" and
- you also had a server named "\\SERVER10").
-
- n4FileAttrGet and n4FileAttrSet can now be used to get and set directory
- attributes.
-
-
- WB 95E Nov 2, 1995
-
-
- DLL 2.2abm First showing up in WB 95E
-
- In 16-bit version, fixed a problem with DirMake creating a directory name
- containing high ANSI characters (>127).
-